package br.com.vdn.vo;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;

import br.com.util.tipodado.Flag;
import br.com.util.tipodado.InteiroLongo;

@Entity
@Table(name="TBUSR")
@Proxy(lazy=true)
public class UsuarioVo implements Serializable
{
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "USRCD")
	@GeneratedValue(generator = "InteiroSequenceGenerator")
	@GenericGenerator(name = "InteiroSequenceGenerator", strategy = "br.com.util.tipodado.hibernate.generator.InteiroSequenceGenerator", parameters = { @Parameter(name = "sequence", value = "SQUSR") })
	@Type(type = "br.com.util.tipodado.hibernate.InteiroLongoUT")
	private InteiroLongo codigo;
	
	@Column(name = "USRNM")
	private String nome;
	
	@Column(name = "USRFGATV")
	@Type(type = "br.com.util.tipodado.hibernate.FlagUT")
	private Flag flagAtivo;

	@Column(name = "USRLGN")
	private String login;
	
	@Column(name = "USRSNH")
	private String senha;
	
	@Transient
	private FiltroUsuarioVo filtro;

	public InteiroLongo getCodigo()
	{
		return codigo;
	}

	public void setCodigo(InteiroLongo codigo)
	{
		this.codigo = codigo;
	}

	public String getNome()
	{
		return nome;
	}

	public void setNome(String nome)
	{
		this.nome = nome;
	}

	public Flag getFlagAtivo()
	{
		return flagAtivo;
	}

	public void setFlagAtivo(Flag flagAtivo)
	{
		this.flagAtivo = flagAtivo;
	}

	public String getLogin()
	{
		return login;
	}

	public void setLogin(String login)
	{
		this.login = login;
	}

	public String getSenha()
	{
		return senha;
	}

	public void setSenha(String senha)
	{
		this.senha = senha;
	}

	public FiltroUsuarioVo getFiltro()
	{
		return filtro;
	}

	public void setFiltro(FiltroUsuarioVo filtro)
	{
		this.filtro = filtro;
	}

}
